<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ADIN1110 Device Driver API Reference Manual: HAL API</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ADIN1110 Device Driver API Reference Manual
   &#160;<span id="projectnumber">1.1.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('group__hal.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a>  </div>
  <div class="headertitle">
<div class="title">HAL API</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga350feb21cb7b37262e647cd01d79ab0c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#ga350feb21cb7b37262e647cd01d79ab0c">ADI_HAL_SUCCESS</a>&#160;&#160;&#160;(0)</td></tr>
<tr class="separator:ga350feb21cb7b37262e647cd01d79ab0c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4dcc1bd80190937d1265b495e3ae5c2d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#ga4dcc1bd80190937d1265b495e3ae5c2d">ADI_HAL_ERROR</a>&#160;&#160;&#160;(1)</td></tr>
<tr class="separator:ga4dcc1bd80190937d1265b495e3ae5c2d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac33d196c9d0e3fd7162d166aa4ab4068"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#gac33d196c9d0e3fd7162d166aa4ab4068">ADI_HAL_ENTER_CRITICAL_SECTION</a>(...)&#160;&#160;&#160;__disable_irq()</td></tr>
<tr class="separator:gac33d196c9d0e3fd7162d166aa4ab4068"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab274db234aa9b9f21aa2a9fec9982881"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#gab274db234aa9b9f21aa2a9fec9982881">ADI_HAL_EXIT_CRITICAL_SECTION</a>(...)&#160;&#160;&#160;__enable_irq()</td></tr>
<tr class="separator:gab274db234aa9b9f21aa2a9fec9982881"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga9d0bdb07f03cba5601b74d5c950bc3d0"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#ga9d0bdb07f03cba5601b74d5c950bc3d0">HAL_Callback_t</a>) (void *pCBParam, uint32_t Event, void *pArg)</td></tr>
<tr class="memdesc:ga9d0bdb07f03cba5601b74d5c950bc3d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback function definition for HAL.  <a href="group__hal.html#ga9d0bdb07f03cba5601b74d5c950bc3d0">More...</a><br /></td></tr>
<tr class="separator:ga9d0bdb07f03cba5601b74d5c950bc3d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader">Standard HAL Functions</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp2905116f7888d8cb8e03739236c9799b"></a>The standard HAL implementation here does not pass the device handle to the HAL functions; it is stripped out by the HAL macros. If that capability is needed, define ADI_HAL_USE_DEVICE_HANDLE and implement the required HAL function prototypes in the port-specific headers. </p>
</td></tr>
<tr class="memitem:gaf420bbd7b8719b91aea20ec7c48448f5"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#gaf420bbd7b8719b91aea20ec7c48448f5">HAL_EnableIrq</a> (void)</td></tr>
<tr class="memdesc:gaf420bbd7b8719b91aea20ec7c48448f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt enable.  <a href="group__hal.html#gaf420bbd7b8719b91aea20ec7c48448f5">More...</a><br /></td></tr>
<tr class="separator:gaf420bbd7b8719b91aea20ec7c48448f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9bca72e8e06bf468016b799d6a084ee6"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#ga9bca72e8e06bf468016b799d6a084ee6">HAL_DisableIrq</a> (void)</td></tr>
<tr class="memdesc:ga9bca72e8e06bf468016b799d6a084ee6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Interrupt disable.  <a href="group__hal.html#ga9bca72e8e06bf468016b799d6a084ee6">More...</a><br /></td></tr>
<tr class="separator:ga9bca72e8e06bf468016b799d6a084ee6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6ada7643f2b0ee86b21ffa1fb589d9b6"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#ga6ada7643f2b0ee86b21ffa1fb589d9b6">HAL_GetEnableIrq</a> (void)</td></tr>
<tr class="memdesc:ga6ada7643f2b0ee86b21ffa1fb589d9b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get interrupt enable status.  <a href="group__hal.html#ga6ada7643f2b0ee86b21ffa1fb589d9b6">More...</a><br /></td></tr>
<tr class="separator:ga6ada7643f2b0ee86b21ffa1fb589d9b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga29362f60ae07b6fbf17e21c0765da938"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#ga29362f60ae07b6fbf17e21c0765da938">HAL_SetPendingIrq</a> (void)</td></tr>
<tr class="memdesc:ga29362f60ae07b6fbf17e21c0765da938"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set pending interrupt.  <a href="group__hal.html#ga29362f60ae07b6fbf17e21c0765da938">More...</a><br /></td></tr>
<tr class="separator:ga29362f60ae07b6fbf17e21c0765da938"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafae8cf4942488b983dd9af3b6b1efa89"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#gafae8cf4942488b983dd9af3b6b1efa89">HAL_GetPendingIrq</a> (void)</td></tr>
<tr class="memdesc:gafae8cf4942488b983dd9af3b6b1efa89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get pending interrupt.  <a href="group__hal.html#gafae8cf4942488b983dd9af3b6b1efa89">More...</a><br /></td></tr>
<tr class="separator:gafae8cf4942488b983dd9af3b6b1efa89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga408cfb6c28a0995a941b5b484d39a303"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#ga408cfb6c28a0995a941b5b484d39a303">HAL_RegisterCallback</a> (<a class="el" href="group__hal.html#ga9d0bdb07f03cba5601b74d5c950bc3d0">HAL_Callback_t</a> const *intCallback, void *hDevice)</td></tr>
<tr class="memdesc:ga408cfb6c28a0995a941b5b484d39a303"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register device IRQ callback function.  <a href="group__hal.html#ga408cfb6c28a0995a941b5b484d39a303">More...</a><br /></td></tr>
<tr class="separator:ga408cfb6c28a0995a941b5b484d39a303"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa07a66420e4d1319a1af4bff076a4c57"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#gaa07a66420e4d1319a1af4bff076a4c57">HAL_SpiRegisterCallback</a> (<a class="el" href="group__hal.html#ga9d0bdb07f03cba5601b74d5c950bc3d0">HAL_Callback_t</a> const *spiCallback, void *hDevice)</td></tr>
<tr class="memdesc:gaa07a66420e4d1319a1af4bff076a4c57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Register SPI IRQ callback function.  <a href="group__hal.html#gaa07a66420e4d1319a1af4bff076a4c57">More...</a><br /></td></tr>
<tr class="separator:gaa07a66420e4d1319a1af4bff076a4c57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga353e24081d130c60854ae7bfc9a80cbf"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#ga353e24081d130c60854ae7bfc9a80cbf">HAL_SpiReadWrite</a> (uint8_t *pBufferTx, uint8_t *pBufferRx, uint32_t nbBytes, bool useDma)</td></tr>
<tr class="memdesc:ga353e24081d130c60854ae7bfc9a80cbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">HAL SPI read/write.  <a href="group__hal.html#ga353e24081d130c60854ae7bfc9a80cbf">More...</a><br /></td></tr>
<tr class="separator:ga353e24081d130c60854ae7bfc9a80cbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeda6fdf070dc69ffbf7c5b560a938a75"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#gaeda6fdf070dc69ffbf7c5b560a938a75">HAL_FcsInit</a> (void)</td></tr>
<tr class="memdesc:gaeda6fdf070dc69ffbf7c5b560a938a75"><td class="mdescLeft">&#160;</td><td class="mdescRight">HAL Frame check sequence (FCS) initialization.  <a href="group__hal.html#gaeda6fdf070dc69ffbf7c5b560a938a75">More...</a><br /></td></tr>
<tr class="separator:gaeda6fdf070dc69ffbf7c5b560a938a75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2d40372c298c1f5e251573f58c95db17"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#ga2d40372c298c1f5e251573f58c95db17">HAL_FcsUnInit</a> (void)</td></tr>
<tr class="memdesc:ga2d40372c298c1f5e251573f58c95db17"><td class="mdescLeft">&#160;</td><td class="mdescRight">HAL Frame check sequence (FCS) uninitialization.  <a href="group__hal.html#ga2d40372c298c1f5e251573f58c95db17">More...</a><br /></td></tr>
<tr class="separator:ga2d40372c298c1f5e251573f58c95db17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0667fa563941c3ee8f721718fc4a8cc4"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#ga0667fa563941c3ee8f721718fc4a8cc4">HAL_FcsCalculate</a> (uint8_t *pBuf, uint32_t nbBytes)</td></tr>
<tr class="memdesc:ga0667fa563941c3ee8f721718fc4a8cc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">HAL Frame check sequence (FCS) calculation.  <a href="group__hal.html#ga0667fa563941c3ee8f721718fc4a8cc4">More...</a><br /></td></tr>
<tr class="separator:ga0667fa563941c3ee8f721718fc4a8cc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0ff49d8c92be5598dafa57888c383a31"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#ga0ff49d8c92be5598dafa57888c383a31">HAL_Init_Hook</a> (void)</td></tr>
<tr class="memdesc:ga0ff49d8c92be5598dafa57888c383a31"><td class="mdescLeft">&#160;</td><td class="mdescRight">HAL initialization hook.  <a href="group__hal.html#ga0ff49d8c92be5598dafa57888c383a31">More...</a><br /></td></tr>
<tr class="separator:ga0ff49d8c92be5598dafa57888c383a31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae6f1995650ceb43876df44deb688901e"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#gae6f1995650ceb43876df44deb688901e">HAL_UnInit_Hook</a> (void)</td></tr>
<tr class="memdesc:gae6f1995650ceb43876df44deb688901e"><td class="mdescLeft">&#160;</td><td class="mdescRight">HAL uninitialization hook.  <a href="group__hal.html#gae6f1995650ceb43876df44deb688901e">More...</a><br /></td></tr>
<tr class="separator:gae6f1995650ceb43876df44deb688901e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader">HAL Wrappers</h2></td></tr>
<tr><td class="ititle" colspan="2"><p><a class="anchor" id="amgrp965e0c037ff93a3fac17e374d3512fee"></a>These macros will strip out the device handle before passing arguments to the HAL functions. If the HAL implementation for a certain platform requires use of the device handle to implement HAL functions, define ADI_HAL_USE_DEVICE_HANDLE and supply definitions for the HAL function prototypes in the port-specific headers. <br  />
 </p>
</td></tr>
<tr class="memitem:gaebdfc29abdb35df603e1524a788dcc2f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#gaebdfc29abdb35df603e1524a788dcc2f">ADI_HAL_INIT</a>(dev, ...)&#160;&#160;&#160;<a class="el" href="group__hal.html#ga0ff49d8c92be5598dafa57888c383a31">HAL_Init_Hook</a>(__VA_ARGS__)</td></tr>
<tr class="memdesc:gaebdfc29abdb35df603e1524a788dcc2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper for <a class="el" href="group__hal.html#ga0ff49d8c92be5598dafa57888c383a31" title="HAL initialization hook.">HAL_Init_Hook()</a>.  <a href="group__hal.html#gaebdfc29abdb35df603e1524a788dcc2f">More...</a><br /></td></tr>
<tr class="separator:gaebdfc29abdb35df603e1524a788dcc2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaffd80cf0242fdbdfc5e4793542b92b17"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#gaffd80cf0242fdbdfc5e4793542b92b17">ADI_HAL_UNINIT</a>(dev, ...)&#160;&#160;&#160;<a class="el" href="group__hal.html#gae6f1995650ceb43876df44deb688901e">HAL_UnInit_Hook</a>(__VA_ARGS__)</td></tr>
<tr class="memdesc:gaffd80cf0242fdbdfc5e4793542b92b17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper for <a class="el" href="group__hal.html#gae6f1995650ceb43876df44deb688901e" title="HAL uninitialization hook.">HAL_UnInit_Hook()</a>.  <a href="group__hal.html#gaffd80cf0242fdbdfc5e4793542b92b17">More...</a><br /></td></tr>
<tr class="separator:gaffd80cf0242fdbdfc5e4793542b92b17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga943b79b1a0361b673896a2f8d3fe981d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#ga943b79b1a0361b673896a2f8d3fe981d">ADI_HAL_ENABLE_IRQ</a>(dev, ...)&#160;&#160;&#160;<a class="el" href="group__hal.html#gaf420bbd7b8719b91aea20ec7c48448f5">HAL_EnableIrq</a>(__VA_ARGS__)</td></tr>
<tr class="memdesc:ga943b79b1a0361b673896a2f8d3fe981d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper for <a class="el" href="group__hal.html#gaf420bbd7b8719b91aea20ec7c48448f5" title="Interrupt enable.">HAL_EnableIrq()</a>.  <a href="group__hal.html#ga943b79b1a0361b673896a2f8d3fe981d">More...</a><br /></td></tr>
<tr class="separator:ga943b79b1a0361b673896a2f8d3fe981d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8b1b429477addbb2a6bf8ada16efbb09"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#ga8b1b429477addbb2a6bf8ada16efbb09">ADI_HAL_DISABLE_IRQ</a>(dev, ...)&#160;&#160;&#160;<a class="el" href="group__hal.html#ga9bca72e8e06bf468016b799d6a084ee6">HAL_DisableIrq</a>(__VA_ARGS__)</td></tr>
<tr class="memdesc:ga8b1b429477addbb2a6bf8ada16efbb09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper for <a class="el" href="group__hal.html#ga9bca72e8e06bf468016b799d6a084ee6" title="Interrupt disable.">HAL_DisableIrq()</a>.  <a href="group__hal.html#ga8b1b429477addbb2a6bf8ada16efbb09">More...</a><br /></td></tr>
<tr class="separator:ga8b1b429477addbb2a6bf8ada16efbb09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad145c4dc62d567bec1f18d44898e820a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#gad145c4dc62d567bec1f18d44898e820a">ADI_HAL_GET_ENABLE_IRQ</a>(dev, ...)&#160;&#160;&#160;<a class="el" href="group__hal.html#ga6ada7643f2b0ee86b21ffa1fb589d9b6">HAL_GetEnableIrq</a>(__VA_ARGS__)</td></tr>
<tr class="memdesc:gad145c4dc62d567bec1f18d44898e820a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper for <a class="el" href="group__hal.html#ga6ada7643f2b0ee86b21ffa1fb589d9b6" title="Get interrupt enable status.">HAL_GetEnableIrq()</a>.  <a href="group__hal.html#gad145c4dc62d567bec1f18d44898e820a">More...</a><br /></td></tr>
<tr class="separator:gad145c4dc62d567bec1f18d44898e820a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3e93b72d292f0502dc36e198f94878b7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#ga3e93b72d292f0502dc36e198f94878b7">ADI_HAL_SET_PENDING_IRQ</a>(dev, ...)&#160;&#160;&#160;<a class="el" href="group__hal.html#ga29362f60ae07b6fbf17e21c0765da938">HAL_SetPendingIrq</a>(__VA_ARGS__)</td></tr>
<tr class="memdesc:ga3e93b72d292f0502dc36e198f94878b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper for <a class="el" href="group__hal.html#ga29362f60ae07b6fbf17e21c0765da938" title="Set pending interrupt.">HAL_SetPendingIrq()</a>.  <a href="group__hal.html#ga3e93b72d292f0502dc36e198f94878b7">More...</a><br /></td></tr>
<tr class="separator:ga3e93b72d292f0502dc36e198f94878b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa19b65d2b48fe0db33c3b678a6bfe019"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#gaa19b65d2b48fe0db33c3b678a6bfe019">ADI_HAL_GET_PENDING_IRQ</a>(dev, ...)&#160;&#160;&#160;<a class="el" href="group__hal.html#gafae8cf4942488b983dd9af3b6b1efa89">HAL_GetPendingIrq</a>(__VA_ARGS__)</td></tr>
<tr class="memdesc:gaa19b65d2b48fe0db33c3b678a6bfe019"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper for <a class="el" href="group__hal.html#gafae8cf4942488b983dd9af3b6b1efa89" title="Get pending interrupt.">HAL_GetPendingIrq()</a>.  <a href="group__hal.html#gaa19b65d2b48fe0db33c3b678a6bfe019">More...</a><br /></td></tr>
<tr class="separator:gaa19b65d2b48fe0db33c3b678a6bfe019"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga397afd726b258f4ce77675c84c217044"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#ga397afd726b258f4ce77675c84c217044">ADI_HAL_REGISTER_CALLBACK</a>(dev, ...)&#160;&#160;&#160;<a class="el" href="group__hal.html#ga408cfb6c28a0995a941b5b484d39a303">HAL_RegisterCallback</a>(__VA_ARGS__)</td></tr>
<tr class="memdesc:ga397afd726b258f4ce77675c84c217044"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper for <a class="el" href="group__hal.html#ga408cfb6c28a0995a941b5b484d39a303" title="Register device IRQ callback function.">HAL_RegisterCallback()</a>.  <a href="group__hal.html#ga397afd726b258f4ce77675c84c217044">More...</a><br /></td></tr>
<tr class="separator:ga397afd726b258f4ce77675c84c217044"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9e9c3fe1024b98680c8830b2d9ca3f87"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#ga9e9c3fe1024b98680c8830b2d9ca3f87">ADI_HAL_SPI_REGISTER_CALLBACK</a>(dev, ...)&#160;&#160;&#160;<a class="el" href="group__hal.html#gaa07a66420e4d1319a1af4bff076a4c57">HAL_SpiRegisterCallback</a>(__VA_ARGS__)</td></tr>
<tr class="memdesc:ga9e9c3fe1024b98680c8830b2d9ca3f87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper for <a class="el" href="group__hal.html#gaa07a66420e4d1319a1af4bff076a4c57" title="Register SPI IRQ callback function.">HAL_SpiRegisterCallback()</a>.  <a href="group__hal.html#ga9e9c3fe1024b98680c8830b2d9ca3f87">More...</a><br /></td></tr>
<tr class="separator:ga9e9c3fe1024b98680c8830b2d9ca3f87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga31670c7217c2d66ef5632dec25816c4d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#ga31670c7217c2d66ef5632dec25816c4d">ADI_HAL_SPI_READ_WRITE</a>(dev, ...)&#160;&#160;&#160;<a class="el" href="group__hal.html#ga353e24081d130c60854ae7bfc9a80cbf">HAL_SpiReadWrite</a>(__VA_ARGS__)</td></tr>
<tr class="memdesc:ga31670c7217c2d66ef5632dec25816c4d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper for <a class="el" href="group__hal.html#ga353e24081d130c60854ae7bfc9a80cbf" title="HAL SPI read/write.">HAL_SpiReadWrite()</a>.  <a href="group__hal.html#ga31670c7217c2d66ef5632dec25816c4d">More...</a><br /></td></tr>
<tr class="separator:ga31670c7217c2d66ef5632dec25816c4d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabb6683045f0fbf689e093efa3d9be9ae"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#gabb6683045f0fbf689e093efa3d9be9ae">ADI_HAL_FCS_INIT</a>(dev, ...)&#160;&#160;&#160;<a class="el" href="group__hal.html#gaeda6fdf070dc69ffbf7c5b560a938a75">HAL_FcsInit</a>(__VA_ARGS__)</td></tr>
<tr class="memdesc:gabb6683045f0fbf689e093efa3d9be9ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper for <a class="el" href="group__hal.html#gaeda6fdf070dc69ffbf7c5b560a938a75" title="HAL Frame check sequence (FCS) initialization.">HAL_FcsInit()</a>.  <a href="group__hal.html#gabb6683045f0fbf689e093efa3d9be9ae">More...</a><br /></td></tr>
<tr class="separator:gabb6683045f0fbf689e093efa3d9be9ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1811f7145a1a0216096d8eb66292a6f2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#ga1811f7145a1a0216096d8eb66292a6f2">ADI_HAL_FCS_UNINIT</a>(dev, ...)&#160;&#160;&#160;<a class="el" href="group__hal.html#ga2d40372c298c1f5e251573f58c95db17">HAL_FcsUnInit</a>(__VA_ARGS__)</td></tr>
<tr class="memdesc:ga1811f7145a1a0216096d8eb66292a6f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper for <a class="el" href="group__hal.html#ga2d40372c298c1f5e251573f58c95db17" title="HAL Frame check sequence (FCS) uninitialization.">HAL_FcsUnInit()</a>.  <a href="group__hal.html#ga1811f7145a1a0216096d8eb66292a6f2">More...</a><br /></td></tr>
<tr class="separator:ga1811f7145a1a0216096d8eb66292a6f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2d1ca657025a01ba1ef4c9fcd0d29065"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__hal.html#ga2d1ca657025a01ba1ef4c9fcd0d29065">ADI_HAL_FCS_CALCULATE</a>(dev, ...)&#160;&#160;&#160;<a class="el" href="group__hal.html#ga0667fa563941c3ee8f721718fc4a8cc4">HAL_FcsCalculate</a>(__VA_ARGS__)</td></tr>
<tr class="memdesc:ga2d1ca657025a01ba1ef4c9fcd0d29065"><td class="mdescLeft">&#160;</td><td class="mdescRight">Wrapper for <a class="el" href="group__hal.html#ga0667fa563941c3ee8f721718fc4a8cc4" title="HAL Frame check sequence (FCS) calculation.">HAL_FcsCalculate()</a>.  <a href="group__hal.html#ga2d1ca657025a01ba1ef4c9fcd0d29065">More...</a><br /></td></tr>
<tr class="separator:ga2d1ca657025a01ba1ef4c9fcd0d29065"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga8b1b429477addbb2a6bf8ada16efbb09"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8b1b429477addbb2a6bf8ada16efbb09">&#9670;&nbsp;</a></span>ADI_HAL_DISABLE_IRQ</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ADI_HAL_DISABLE_IRQ</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dev, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__hal.html#ga9bca72e8e06bf468016b799d6a084ee6">HAL_DisableIrq</a>(__VA_ARGS__)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Wrapper for <a class="el" href="group__hal.html#ga9bca72e8e06bf468016b799d6a084ee6" title="Interrupt disable.">HAL_DisableIrq()</a>. </p>
<p>Interrupt disable.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>Device driver handle. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga943b79b1a0361b673896a2f8d3fe981d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga943b79b1a0361b673896a2f8d3fe981d">&#9670;&nbsp;</a></span>ADI_HAL_ENABLE_IRQ</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ADI_HAL_ENABLE_IRQ</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dev, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__hal.html#gaf420bbd7b8719b91aea20ec7c48448f5">HAL_EnableIrq</a>(__VA_ARGS__)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Wrapper for <a class="el" href="group__hal.html#gaf420bbd7b8719b91aea20ec7c48448f5" title="Interrupt enable.">HAL_EnableIrq()</a>. </p>
<p>Interrupt enable.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>Device driver handle. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gac33d196c9d0e3fd7162d166aa4ab4068"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac33d196c9d0e3fd7162d166aa4ab4068">&#9670;&nbsp;</a></span>ADI_HAL_ENTER_CRITICAL_SECTION</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ADI_HAL_ENTER_CRITICAL_SECTION</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em></td><td>)</td>
          <td>&#160;&#160;&#160;__disable_irq()</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Disables all processor interrupts. </p>

</div>
</div>
<a id="ga4dcc1bd80190937d1265b495e3ae5c2d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga4dcc1bd80190937d1265b495e3ae5c2d">&#9670;&nbsp;</a></span>ADI_HAL_ERROR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ADI_HAL_ERROR&#160;&#160;&#160;(1)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>HAL return code indicating an error has been encountered. </p>

</div>
</div>
<a id="gab274db234aa9b9f21aa2a9fec9982881"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab274db234aa9b9f21aa2a9fec9982881">&#9670;&nbsp;</a></span>ADI_HAL_EXIT_CRITICAL_SECTION</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ADI_HAL_EXIT_CRITICAL_SECTION</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em></td><td>)</td>
          <td>&#160;&#160;&#160;__enable_irq()</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Re-enables processor interrupts. </p>

</div>
</div>
<a id="ga2d1ca657025a01ba1ef4c9fcd0d29065"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2d1ca657025a01ba1ef4c9fcd0d29065">&#9670;&nbsp;</a></span>ADI_HAL_FCS_CALCULATE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ADI_HAL_FCS_CALCULATE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dev, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__hal.html#ga0667fa563941c3ee8f721718fc4a8cc4">HAL_FcsCalculate</a>(__VA_ARGS__)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Wrapper for <a class="el" href="group__hal.html#ga0667fa563941c3ee8f721718fc4a8cc4" title="HAL Frame check sequence (FCS) calculation.">HAL_FcsCalculate()</a>. </p>
<p>HAL Frame check sequence (FCS) calculation.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>Device driver handle. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gabb6683045f0fbf689e093efa3d9be9ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gabb6683045f0fbf689e093efa3d9be9ae">&#9670;&nbsp;</a></span>ADI_HAL_FCS_INIT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ADI_HAL_FCS_INIT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dev, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__hal.html#gaeda6fdf070dc69ffbf7c5b560a938a75">HAL_FcsInit</a>(__VA_ARGS__)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Wrapper for <a class="el" href="group__hal.html#gaeda6fdf070dc69ffbf7c5b560a938a75" title="HAL Frame check sequence (FCS) initialization.">HAL_FcsInit()</a>. </p>
<p>HAL Frame check sequence (FCS) initialization.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>Device driver handle. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga1811f7145a1a0216096d8eb66292a6f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1811f7145a1a0216096d8eb66292a6f2">&#9670;&nbsp;</a></span>ADI_HAL_FCS_UNINIT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ADI_HAL_FCS_UNINIT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dev, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__hal.html#ga2d40372c298c1f5e251573f58c95db17">HAL_FcsUnInit</a>(__VA_ARGS__)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Wrapper for <a class="el" href="group__hal.html#ga2d40372c298c1f5e251573f58c95db17" title="HAL Frame check sequence (FCS) uninitialization.">HAL_FcsUnInit()</a>. </p>
<p>HAL Frame check sequence (FCS) uninitialization.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>Device driver handle. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gad145c4dc62d567bec1f18d44898e820a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad145c4dc62d567bec1f18d44898e820a">&#9670;&nbsp;</a></span>ADI_HAL_GET_ENABLE_IRQ</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ADI_HAL_GET_ENABLE_IRQ</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dev, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__hal.html#ga6ada7643f2b0ee86b21ffa1fb589d9b6">HAL_GetEnableIrq</a>(__VA_ARGS__)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Wrapper for <a class="el" href="group__hal.html#ga6ada7643f2b0ee86b21ffa1fb589d9b6" title="Get interrupt enable status.">HAL_GetEnableIrq()</a>. </p>
<p>Get interrupt enable status.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>Device driver handle. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gaa19b65d2b48fe0db33c3b678a6bfe019"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa19b65d2b48fe0db33c3b678a6bfe019">&#9670;&nbsp;</a></span>ADI_HAL_GET_PENDING_IRQ</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ADI_HAL_GET_PENDING_IRQ</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dev, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__hal.html#gafae8cf4942488b983dd9af3b6b1efa89">HAL_GetPendingIrq</a>(__VA_ARGS__)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Wrapper for <a class="el" href="group__hal.html#gafae8cf4942488b983dd9af3b6b1efa89" title="Get pending interrupt.">HAL_GetPendingIrq()</a>. </p>
<p>Get pending interrupt.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>Device driver handle. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="gaebdfc29abdb35df603e1524a788dcc2f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaebdfc29abdb35df603e1524a788dcc2f">&#9670;&nbsp;</a></span>ADI_HAL_INIT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ADI_HAL_INIT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dev, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__hal.html#ga0ff49d8c92be5598dafa57888c383a31">HAL_Init_Hook</a>(__VA_ARGS__)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Wrapper for <a class="el" href="group__hal.html#ga0ff49d8c92be5598dafa57888c383a31" title="HAL initialization hook.">HAL_Init_Hook()</a>. </p>
<p>HAL initialization hook.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>Device driver handle. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga397afd726b258f4ce77675c84c217044"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga397afd726b258f4ce77675c84c217044">&#9670;&nbsp;</a></span>ADI_HAL_REGISTER_CALLBACK</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ADI_HAL_REGISTER_CALLBACK</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dev, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__hal.html#ga408cfb6c28a0995a941b5b484d39a303">HAL_RegisterCallback</a>(__VA_ARGS__)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Wrapper for <a class="el" href="group__hal.html#ga408cfb6c28a0995a941b5b484d39a303" title="Register device IRQ callback function.">HAL_RegisterCallback()</a>. </p>
<p>Register device IRQ callback function.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>Device driver handle. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga3e93b72d292f0502dc36e198f94878b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3e93b72d292f0502dc36e198f94878b7">&#9670;&nbsp;</a></span>ADI_HAL_SET_PENDING_IRQ</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ADI_HAL_SET_PENDING_IRQ</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dev, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__hal.html#ga29362f60ae07b6fbf17e21c0765da938">HAL_SetPendingIrq</a>(__VA_ARGS__)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Wrapper for <a class="el" href="group__hal.html#ga29362f60ae07b6fbf17e21c0765da938" title="Set pending interrupt.">HAL_SetPendingIrq()</a>. </p>
<p>Set pending interrupt.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>Device driver handle. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga31670c7217c2d66ef5632dec25816c4d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga31670c7217c2d66ef5632dec25816c4d">&#9670;&nbsp;</a></span>ADI_HAL_SPI_READ_WRITE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ADI_HAL_SPI_READ_WRITE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dev, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__hal.html#ga353e24081d130c60854ae7bfc9a80cbf">HAL_SpiReadWrite</a>(__VA_ARGS__)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Wrapper for <a class="el" href="group__hal.html#ga353e24081d130c60854ae7bfc9a80cbf" title="HAL SPI read/write.">HAL_SpiReadWrite()</a>. </p>
<p>HAL SPI read/write.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>Device driver handle. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga9e9c3fe1024b98680c8830b2d9ca3f87"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9e9c3fe1024b98680c8830b2d9ca3f87">&#9670;&nbsp;</a></span>ADI_HAL_SPI_REGISTER_CALLBACK</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ADI_HAL_SPI_REGISTER_CALLBACK</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dev, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__hal.html#gaa07a66420e4d1319a1af4bff076a4c57">HAL_SpiRegisterCallback</a>(__VA_ARGS__)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Wrapper for <a class="el" href="group__hal.html#gaa07a66420e4d1319a1af4bff076a4c57" title="Register SPI IRQ callback function.">HAL_SpiRegisterCallback()</a>. </p>
<p>Register SPI IRQ callback function.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>Device driver handle. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga350feb21cb7b37262e647cd01d79ab0c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga350feb21cb7b37262e647cd01d79ab0c">&#9670;&nbsp;</a></span>ADI_HAL_SUCCESS</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ADI_HAL_SUCCESS&#160;&#160;&#160;(0)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>HAL return code indicating successful execution. </p>

</div>
</div>
<a id="gaffd80cf0242fdbdfc5e4793542b92b17"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaffd80cf0242fdbdfc5e4793542b92b17">&#9670;&nbsp;</a></span>ADI_HAL_UNINIT</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ADI_HAL_UNINIT</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">dev, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname"><em>...</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td>&#160;&#160;&#160;<a class="el" href="group__hal.html#gae6f1995650ceb43876df44deb688901e">HAL_UnInit_Hook</a>(__VA_ARGS__)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Wrapper for <a class="el" href="group__hal.html#gae6f1995650ceb43876df44deb688901e" title="HAL uninitialization hook.">HAL_UnInit_Hook()</a>. </p>
<p>HAL uninitialization hook.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">dev</td><td>Device driver handle. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="ga9d0bdb07f03cba5601b74d5c950bc3d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9d0bdb07f03cba5601b74d5c950bc3d0">&#9670;&nbsp;</a></span>HAL_Callback_t</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* HAL_Callback_t) (void *pCBParam, uint32_t Event, void *pArg)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback function definition for HAL. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pCBParam</td><td>Client-supplied callback parameter. </td></tr>
    <tr><td class="paramname">Event</td><td>Event ID specific to the Driver/Service. </td></tr>
    <tr><td class="paramname">pArg</td><td>Pointer to the event-specific argument. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga9bca72e8e06bf468016b799d6a084ee6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9bca72e8e06bf468016b799d6a084ee6">&#9670;&nbsp;</a></span>HAL_DisableIrq()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t HAL_DisableIrq </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Interrupt disable. </p>
<dl class="section return"><dt>Returns</dt><dd>Status<ul>
<li><a class="el" href="group__hal.html#ga350feb21cb7b37262e647cd01d79ab0c">ADI_HAL_SUCCESS</a> Call completed successfully.</li>
<li><a class="el" href="group__hal.html#ga4dcc1bd80190937d1265b495e3ae5c2d">ADI_HAL_ERROR</a> Error encountered during function execution.</li>
</ul>
</dd></dl>
<p>Disables the external interrupt (INT_N) in the host processor.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__hal.html#gaf420bbd7b8719b91aea20ec7c48448f5" title="Interrupt enable.">HAL_EnableIrq()</a> </dd></dl>

</div>
</div>
<a id="gaf420bbd7b8719b91aea20ec7c48448f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf420bbd7b8719b91aea20ec7c48448f5">&#9670;&nbsp;</a></span>HAL_EnableIrq()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t HAL_EnableIrq </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Interrupt enable. </p>
<dl class="section return"><dt>Returns</dt><dd>Status<ul>
<li><a class="el" href="group__hal.html#ga350feb21cb7b37262e647cd01d79ab0c">ADI_HAL_SUCCESS</a> Call completed successfully.</li>
<li><a class="el" href="group__hal.html#ga4dcc1bd80190937d1265b495e3ae5c2d">ADI_HAL_ERROR</a> Error encountered during function execution.</li>
</ul>
</dd></dl>
<p>Enables the external interrupt (INT_N) in the host processor.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__hal.html#ga9bca72e8e06bf468016b799d6a084ee6" title="Interrupt disable.">HAL_DisableIrq()</a> </dd></dl>

</div>
</div>
<a id="ga0667fa563941c3ee8f721718fc4a8cc4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0667fa563941c3ee8f721718fc4a8cc4">&#9670;&nbsp;</a></span>HAL_FcsCalculate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t HAL_FcsCalculate </td>
          <td>(</td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>pBuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>nbBytes</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>HAL Frame check sequence (FCS) calculation. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pBuf</td><td>Pointer to data buffer on which to perfrom the calculation. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nbBytes</td><td>Number of bytes on which to perfrom the calculation. <br  />
</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>4-byte Ethernet FCS as U32.</dd></dl>
<p>Calculate and return the 32-bit FCS. Per the 802.3 standard, the computation is via CRC32 BZIP2 with polynomial = 0x4C11DB7, initial CRC = 0xFFFFFFFF, and with the CRC post-complemented.</p>
<dl class="section see"><dt>See also</dt><dd></dd></dl>

</div>
</div>
<a id="gaeda6fdf070dc69ffbf7c5b560a938a75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaeda6fdf070dc69ffbf7c5b560a938a75">&#9670;&nbsp;</a></span>HAL_FcsInit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t HAL_FcsInit </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>HAL Frame check sequence (FCS) initialization. </p>
<dl class="section return"><dt>Returns</dt><dd>Status<ul>
<li><a class="el" href="group__hal.html#ga350feb21cb7b37262e647cd01d79ab0c">ADI_HAL_SUCCESS</a> Call completed successfully.</li>
<li><a class="el" href="group__hal.html#ga4dcc1bd80190937d1265b495e3ae5c2d">ADI_HAL_ERROR</a> Error encountered during function execution.</li>
</ul>
</dd></dl>
<p>Initialize FCS calculator.</p>
<dl class="section see"><dt>See also</dt><dd></dd></dl>

</div>
</div>
<a id="ga2d40372c298c1f5e251573f58c95db17"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2d40372c298c1f5e251573f58c95db17">&#9670;&nbsp;</a></span>HAL_FcsUnInit()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t HAL_FcsUnInit </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>HAL Frame check sequence (FCS) uninitialization. </p>
<dl class="section return"><dt>Returns</dt><dd>Status<ul>
<li><a class="el" href="group__hal.html#ga350feb21cb7b37262e647cd01d79ab0c">ADI_HAL_SUCCESS</a> Call completed successfully.</li>
<li><a class="el" href="group__hal.html#ga4dcc1bd80190937d1265b495e3ae5c2d">ADI_HAL_ERROR</a> Error encountered during function execution.</li>
</ul>
</dd></dl>
<p>Uninitialize FCS calculator.</p>
<dl class="section see"><dt>See also</dt><dd></dd></dl>

</div>
</div>
<a id="ga6ada7643f2b0ee86b21ffa1fb589d9b6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6ada7643f2b0ee86b21ffa1fb589d9b6">&#9670;&nbsp;</a></span>HAL_GetEnableIrq()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t HAL_GetEnableIrq </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get interrupt enable status. </p>
<dl class="section return"><dt>Returns</dt><dd>Enable status<ul>
<li>1 Interrupt enabled.</li>
<li>0 Interrupt disabled.</li>
</ul>
</dd></dl>
<p>Disables the external interrupt (INT_N) in the host processor.</p>
<dl class="section see"><dt>See also</dt><dd></dd></dl>

</div>
</div>
<a id="gafae8cf4942488b983dd9af3b6b1efa89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gafae8cf4942488b983dd9af3b6b1efa89">&#9670;&nbsp;</a></span>HAL_GetPendingIrq()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t HAL_GetPendingIrq </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get pending interrupt. </p>
<dl class="section return"><dt>Returns</dt><dd>Status<ul>
<li>0 Interrupt is not pending.</li>
<li>1 Interrupt is pending.</li>
</ul>
</dd></dl>
<p>Checks the status of the external interrupt (INT_N).</p>
<dl class="section see"><dt>See also</dt><dd></dd></dl>

</div>
</div>
<a id="ga0ff49d8c92be5598dafa57888c383a31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0ff49d8c92be5598dafa57888c383a31">&#9670;&nbsp;</a></span>HAL_Init_Hook()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t HAL_Init_Hook </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>HAL initialization hook. </p>
<dl class="section return"><dt>Returns</dt><dd>Status<ul>
<li><a class="el" href="group__hal.html#ga350feb21cb7b37262e647cd01d79ab0c">ADI_HAL_SUCCESS</a> Call completed successfully.</li>
<li><a class="el" href="group__hal.html#ga4dcc1bd80190937d1265b495e3ae5c2d">ADI_HAL_ERROR</a> Error encountered during function execution.</li>
</ul>
</dd></dl>
<p>Called during the driver initialization, to allow the user to run application-specific configuration, if needed. Can be left empty if such functionality is not required.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__hal.html#gae6f1995650ceb43876df44deb688901e" title="HAL uninitialization hook.">HAL_UnInit_Hook()</a> </dd></dl>

</div>
</div>
<a id="ga408cfb6c28a0995a941b5b484d39a303"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga408cfb6c28a0995a941b5b484d39a303">&#9670;&nbsp;</a></span>HAL_RegisterCallback()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t HAL_RegisterCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__hal.html#ga9d0bdb07f03cba5601b74d5c950bc3d0">HAL_Callback_t</a> const *&#160;</td>
          <td class="paramname"><em>intCallback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>hDevice</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Register device IRQ callback function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">intCallback</td><td>Callback function. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">hDevice</td><td>Pointer to device handler.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status<ul>
<li><a class="el" href="group__hal.html#ga350feb21cb7b37262e647cd01d79ab0c">ADI_HAL_SUCCESS</a> Call completed successfully.</li>
<li><a class="el" href="group__hal.html#ga4dcc1bd80190937d1265b495e3ae5c2d">ADI_HAL_ERROR</a> Error encountered during function execution.</li>
</ul>
</dd></dl>
<p>Registers a callback for the PHY interrupt.</p>
<dl class="section see"><dt>See also</dt><dd></dd></dl>

</div>
</div>
<a id="ga29362f60ae07b6fbf17e21c0765da938"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga29362f60ae07b6fbf17e21c0765da938">&#9670;&nbsp;</a></span>HAL_SetPendingIrq()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t HAL_SetPendingIrq </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set pending interrupt. </p>
<dl class="section return"><dt>Returns</dt><dd>Status<ul>
<li><a class="el" href="group__hal.html#ga350feb21cb7b37262e647cd01d79ab0c">ADI_HAL_SUCCESS</a> Call completed successfully.</li>
<li><a class="el" href="group__hal.html#ga4dcc1bd80190937d1265b495e3ae5c2d">ADI_HAL_ERROR</a> Error encountered during function execution.</li>
</ul>
</dd></dl>
<p>Sets the external interrupt (INT_N) as pending, causing the IRQ handler to be executed. This is used for deferred operations.</p>
<dl class="section see"><dt>See also</dt><dd></dd></dl>

</div>
</div>
<a id="ga353e24081d130c60854ae7bfc9a80cbf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga353e24081d130c60854ae7bfc9a80cbf">&#9670;&nbsp;</a></span>HAL_SpiReadWrite()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t HAL_SpiReadWrite </td>
          <td>(</td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>pBufferTx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>pBufferRx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>nbBytes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>useDma</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>HAL SPI read/write. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">pBufferTx</td><td>Pointer to transmit data buffer. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">nbBytes</td><td>Number bytes to transfer. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">useDma</td><td>Enable/disable DMA for SPI. </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">pBufferRx</td><td>Pointer to receive data buffer.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status<ul>
<li><a class="el" href="group__hal.html#ga350feb21cb7b37262e647cd01d79ab0c">ADI_HAL_SUCCESS</a> Call completed successfully.</li>
<li><a class="el" href="group__hal.html#ga4dcc1bd80190937d1265b495e3ae5c2d">ADI_HAL_ERROR</a> Error encountered during function execution.</li>
</ul>
</dd></dl>
<p>Initiate data transfer using the SPI interface. Implements a non blocking call.</p>
<dl class="section see"><dt>See also</dt><dd></dd></dl>

</div>
</div>
<a id="gaa07a66420e4d1319a1af4bff076a4c57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaa07a66420e4d1319a1af4bff076a4c57">&#9670;&nbsp;</a></span>HAL_SpiRegisterCallback()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t HAL_SpiRegisterCallback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__hal.html#ga9d0bdb07f03cba5601b74d5c950bc3d0">HAL_Callback_t</a> const *&#160;</td>
          <td class="paramname"><em>spiCallback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>hDevice</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Register SPI IRQ callback function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">spiCallback</td><td>Callback function. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">hDevice</td><td>Pointer to device handler.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Status<ul>
<li><a class="el" href="group__hal.html#ga350feb21cb7b37262e647cd01d79ab0c">ADI_HAL_SUCCESS</a> Call completed successfully.</li>
<li><a class="el" href="group__hal.html#ga4dcc1bd80190937d1265b495e3ae5c2d">ADI_HAL_ERROR</a> Error encountered during function execution.</li>
</ul>
</dd></dl>
<p>Registers a callback for the SPI interrupt.</p>
<dl class="section see"><dt>See also</dt><dd></dd></dl>

</div>
</div>
<a id="gae6f1995650ceb43876df44deb688901e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae6f1995650ceb43876df44deb688901e">&#9670;&nbsp;</a></span>HAL_UnInit_Hook()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t HAL_UnInit_Hook </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>HAL uninitialization hook. </p>
<dl class="section return"><dt>Returns</dt><dd>Status<ul>
<li><a class="el" href="group__hal.html#ga350feb21cb7b37262e647cd01d79ab0c">ADI_HAL_SUCCESS</a> Call completed successfully.</li>
<li><a class="el" href="group__hal.html#ga4dcc1bd80190937d1265b495e3ae5c2d">ADI_HAL_ERROR</a> Error encountered during function execution.</li>
</ul>
</dd></dl>
<p>Called during the driver uninitialization, to allow the user to run application-specific configuration, if needed. Can be left empty if such functionality is not required.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="group__hal.html#ga0ff49d8c92be5598dafa57888c383a31" title="HAL initialization hook.">HAL_Init_Hook()</a> </dd></dl>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
